package com.sx.mvvmlibs.config

import androidx.annotation.IdRes
import androidx.annotation.LayoutRes
import com.sx.mvvmlibs.R

/**
 * @Author: YY
 * @Date: 2022/1/12
 * @Description: TODO
 */
object GlobalConfig {

    /**
     * 是否保存 log 到缓存目录。目录地址：
     * /sdcard/Android/data/应用包名/cache/Log
     * TODO：建议提测时开启保存
     */
    var gIsSaveLog = true

    object ImageView {
        var errorRes: Int? = null
        var placeholderRes: Int? = null
    }

    object Click {

        /**
         * 在 xml 配置点击事件，可配置的属性如下：
         * onClickCommand 点击事件
         * isInterval 是否开启防止点击过快
         * intervalMilliseconds 防止点击过快的间隔时间，毫秒为单位
         *
         * 这里可全局设置是否开启防止点击事件过快的功能，局部可单独开启或关闭。
         *
         * 如果关闭，那么和 setOnClickListener 没啥区别
         */
        var gIsClickInterval = false

        /**
         * 点击事件时间间隔
         */
        var gClickIntervalMilliseconds = 800
    }

    /**
     * 加载弹框
     */
    object LoadingDialog {

        /**
         * 加载中对话框的 layout
         */
        @LayoutRes
        var gLoadingDialogLayout = R.layout.view_dialog_loading

        /**
         * 加载中对话框的 layout 消息id
         */
        @IdRes
        var gLoadingDialogMsgId = R.id.tv_msg

        /**
         * 是否需要显示Dialog
         */
        var gIsNeedLoadingDialog = true

        /**
         * 是否可点击返回键隐藏对话框
         */
        var gDialogCancelable = false

        /**
         * 是否可点击区域外隐藏对话框
         */
        var gDialogCancelOutside = false
    }

    /**
     * 标题栏布局配置
     */
    object AppTitleBar {
        @LayoutRes
        var gAppBarLayoutId: Int? = R.layout.view_app_bar
    }
}